feat(secret-scan): add severity-aware failure policies - #11
Merged
Conversation
gmanal
force-pushed
the
feat/secret-scan-fail-policy
branch
from
July 20, 2026 17:48
be7c0c4 to
f9d7d40
Compare
ftnv
requested changes
Jul 20, 2026
gmanal
force-pushed
the
feat/secret-scan-fail-policy
branch
from
July 21, 2026 08:03
fa202db to
d64c9ef
Compare
Make failure_policy the single enforcement lever for the Pulse reusable workflow, with names and default matching the GitLab secret-scan component so the GitLab and GitHub surfaces behave identically. failure_policy (default unverified): - unverified — fail on verified/live secrets (exit 183); keep the job green on unverified findings (exit 185). - strict — fail on any finding (183 or 185). - all — warn only; never fail the job on findings. Scanner/infra errors always fail closed; missing scan state fails the job. Scan and reporting: - Remove the caller-facing `results` input. The scan always runs with the broadest filter (--results=verified,unknown,unverified) so every finding class — including unverified findings such as private keys — reaches SARIF and is eligible for enforcement. - SARIF labels each finding's verification state distinctly (verified / unknown / unverified), derived from the scanner's Verified + VerificationError fields; verified -> error, unknown/unverified -> warning, with the state also in properties.verificationState. Testing: - ci.yml exercises positive and negative cases across all three policies. The unverified and all negatives run end-to-end through the reusable workflow via the repo-guarded, CI-only ci_test_setup input (both expected to pass); the strict negative asserts the scanner's exact exit code (185). Docs: - README, workflow catalogue, and CHANGELOG updated. Migration (pre-release interface change): - Remove any `results:` input from consumer `with:` blocks. - fail-on-findings: true -> failure_policy: strict (or unverified to tolerate unverified findings) - fail-on-findings: false -> failure_policy: all
gmanal
force-pushed
the
feat/secret-scan-fail-policy
branch
from
July 21, 2026 08:08
d64c9ef to
2ee7fba
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace the boolean fail-on-findings input with a constrained fail-policy input supporting all, verified, and none.